﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using S.Common.Enums.Initial;

namespace S.Initial.Domain
{
    /// <summary>
    /// 期初表
    /// </summary>
    [Table("BreedMaleAndFemaleStart")]
    public class BreedMaleAndFemaleStart
    {
        /// <summary>
        /// 期初主键ID
        /// </summary>
        [Key]
        public int StartId { get; set; }
        /// <summary>
        /// 类型(后裔,种公,种母)
        /// </summary>
        public Types Type { get; set; }
        /// <summary>
        /// 电子耳号Id
        /// </summary>
        public int MarkId { get; set; }
        /// <summary>
        /// 电子耳号标
        /// </summary>
        public string? EarTag { get; set; }
        /// <summary>
        /// 栋舍
        /// </summary>
        public string? BuildingName { get; set; }
        /// <summary>
        /// 栏位
        /// </summary>
        public string? ColumnName { get; set; }
        /// <summary>
        /// 转种日期
        /// </summary>
        public DateTime ReplantingDate { get; set; }
        /// <summary>
        /// 重量
        /// </summary>
        [Column(TypeName = "decimal(10,2)")]
        public decimal Weight { get; set; }
        /// <summary>
        /// 只数
        /// </summary>
        public int Only { get; set; }
        /// <summary>
        /// 阶段
        /// </summary>
        public Stage? Stage { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 单据号
        /// </summary>
        public string? DocumentNumber { get; set; }
        /// <summary>
        /// 流水号
        /// </summary>
        public string? SerialNumber { get; set; }
        /// <summary>
        /// 期初日期
        /// </summary>
        public DateTime OpeningDate { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateBy { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateDate { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateBy { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateDate { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string? AuditBy { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? AuditDate { get; set; }
        /// <summary>
        /// 逻辑删除
        /// </summary>
        public bool LogicalDeletion { get; set; }
    }
}
